
// <copyright file="IDataStructureAdapter.cs" company="Subhadra Software Solutions">
//   
// </copyright>
// <summary>
//   The DataStructureAdapter interface.
// </summary>

namespace SubhadraSolutions.Sharp.Utils.Collections.Generic
{
    /// <summary>
    /// The DataStructureAdapter interface.
    /// </summary>
    /// <typeparam name="T">
    /// </typeparam>
    public interface IDataStructureAdapter<T>
    {
        #region Public Properties

        /// <summary>
        /// Gets the capacity.
        /// </summary>
        int Capacity { get; }

        #endregion Public Properties

        #region Public Indexers

        /// <summary>
        /// The this.
        /// </summary>
        /// <param name="index">
        /// The index.
        /// </param>
        /// <returns>
        /// The <see cref="T"/>.
        /// </returns>
        T this[int index] { get; set; }

        #endregion Public Indexers

        #region Public Methods and Operators

        /// <summary>
        /// The clear.
        /// </summary>
        void Clear();

        #endregion Public Methods and Operators

        // int Count { get; }
        // int LastWrittenIndex { get; }
    }
}